package org.example.cicdi.service.impl.third;

import lombok.extern.slf4j.Slf4j;

import org.example.codegenerate.modelext.WebVo.domian.table.TableVoDomain;
import org.example.codegenerate.modelext.WebVo.domian.table.WebModelVo;
import org.springframework.stereotype.Component;

import javax.persistence.Table;
@Component
@Slf4j
public class HasTVOAndHasTable extends AbstractTVOAndTable{
    public HasTVOAndHasTable(){
        //this.localtableCondition=new TableCondition();
        localtableCondition.setHasorNotSelfAnnotationTVO(EnumConsantExistType.HasTVO.getStatus());
        localtableCondition.setHasorNotJpaTableAnnotation(EnumConsantExistType.HasTable.getStatus());
    }
    @Override
    protected void execute(Class<?> cl, WebModelVo webModelVo) {
        TableVoDomain tableVoDomain=webModelVo.getTableVoDomain();
        setTVOwithTVOTag(cl,tableVoDomain,webModelVo);

        Table table=cl.getAnnotation(Table.class);
        tableVoDomain.setTableName(table.name());
        log.info("当前正在处理的类是类：{}，处理之后形成的tableVoDomain的参数为{}",cl.getName(),tableVoDomain.toString());
    }
}
